.TH std::locale::combine 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::locale::combine \- std::locale::combine

.SH Synopsis
   Defined in header <locale>
   template< class Facet >
   locale combine( const locale& other ) const;

   Constructs a locale object which is a copy of *this except for the facet of type
   Facet, which is copied from other.

   The program is ill-formed if Facet is not a facet or it is a volatile-qualified
   facet.

.SH Return value

   The new, nameless, locale.

.SH Exceptions

   std::runtime_error if other does not implement Facet.

.SH Example


// Run this code

 #include <iostream>
 #include <locale>

 int main()
 {
     const double number = 1000.25;
     std::cout << "\\"C\\" locale: " << number << '\\n';
     std::locale loc = std::locale()
         .combine<std::numpunct<char>>(std::locale("en_US.UTF8"));
     std::cout.imbue(loc);
     std::cout << "\\"C\\" locale with en_US numpunct: " << number << '\\n';
 }

.SH Output:

 "C" locale: 1000.25
 "C" locale with en_US numpunct: 1,000.25

   Defect reports

   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.

     DR    Applied to     Behavior as published               Correct behavior
   LWG 14  C++98      locale::combine was non-const  made const
   LWG 436 C++98      it was unclear whether Facet   it can be const-qualified, but not
                      can be cv-qualified            volatile-qualified

.SH See also

   constructor   constructs a new locale
                 \fI(public member function)\fP
